Summary UnZip 2.0.1 dated January 20, 1993 is an application to extract files from a .ZIP archive created using any version of PKZip up to and including version 2.04c. In the tradition of dearchiving utilities, this program is freeware. Selecting Files in List: [mouse click] selects cmd-[mouse click] toggles selection Extract Button - extracts selected files to same folder as .ZIP file. Display Button - displays selected text files in a window. Strip/Filter Checkbox - converts a text file in either DOS (CR,LF) format or UNIX (LF) format to Mac (CR) format. (Text files displayed in a window are always converted regardless of the Checkbox setting.) Command-. will abort processing. Decrypting of encrypted files is not supported. The Author A. P. Maika Toronto, Ontario, Canada Internet/Usenet peter.maika@canrem.com (preferred) CompuServe 76657,2037 Disclaimer This software is distributed as is. The author hereby disclaims all warranties relating to this software, whether express or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose. The author will not be liable for any special, incidental, consequential, indirect or similar damages due to loss of data or any other reason, even if advised of the possibility of such damages. The user of this software bears all risk as to its quality and performance. Type and Creator Zip archives, if given the type 'pZIP' and creator 'pZIP' will appear with a special icon and can be opened by UnZip 2.0.1 by double-clicking. Some applications (such as the shareware terminal emulator “ZTerm” by David P. Alverson) will recognize a file being downloaded which has the extension .zip and set the type and creator to 'pZIP' automatically. Files extracted by UnZip 2.0.1 never have the file type or creator set to 'pZIP' but instead are extension mapped. Extension Mapping On extraction, the type and creator of an archived file are set to that in the editable list maintained in UnZip 2.0.1 depending on the extension (the last three characters following the “.” in a DOS file name). The extensions recognized by UnZip 2.0.1 in the unaltered version of UnZip uploaded by the author are as follows: Extension--> Type Creator .COM PCFA PCXT SoftPC (commercial program by Insignia Solutions) (DOS executable) .EXE PCFA PCXT SoftPC (commercial program by Insignia Solutions) (DOS executable) .DOC TEXT R*ch Text file owned by the freeware application “BBEdit” by Rich Siegel .TXT TEXT R*ch Text file owned by the freeware application “BBEdit” by Rich Siegel .FLI pFLI πFLI FLI file owned by the freeware application “FLI Player” by A.P. Maika .GIF GIFf Gcon .GIF file owned by the shareware application “GIF Converter” by Kevin A. Mitchell .ZIP pZIP pZIP .ZIP archive owned by the freeware application “UnZip 2.0.1” The above mappings may be modified or eliminated, and additional extensions may be mapped to other Mac applications through the “Extension mapping…” dialog. The format for entering an item to the mapping list is: <3 character extension>=<4 character type>:<4 character creator> Example: TXT=TEXT:R*ch All files indicated in the archive to be text but not ending in the extension .DOC and not otherwise mapped to a type/creator by the mapping list are mapped to file type ‘TEXT’ and the creator indicated in the “Preferences…” dialog (initially ‘R*ch’). Files which are not indicated to be text and are not otherwise mapped to a type/creator by the mapping list are mapped to pBIN:???? which will display as a generic document icon. Version History UnZip 2.0.1 - Jan 20, 1993: 1. change to "inflating" code by updating to version c10p1 of Jan 10, 1993 by Mark Adler from the Info-Zip Group to fix an incompatibility with PKWARE, Inc.’s release of PKZIP.EXE version 2.04c contained in PKZ204C.EXE dated Dec 28, 1992. 2. fixed BNDL resource so that application icon shows up properly. 3. fixed minor bug in progress monitor so that the dearchiving progress displays properly for very large files. 4. changed text creator to 'R*ch' conforming to change in creator type in BBEdit 2.2 by Rich Siegel. UnZip 2.0 - Sept 26, 1992: 1. implemented "inflating" utilizing C code version c7 of June 27, 1992 by Mark Adler from the Info-Zip Group file UNZIP50.ZIP. This is method 8 compression as defined by PKWARE, Inc. in its test release file PKZ193A.EXE of Oct 15, 1991. 2. complete rewrite of the Mac interface using Think C 5.03 and Think Class Library 1.1.2. 3. implemented linefeed filtering for Unix text files. 4. changed method of stripping/filtering linefeeds to overwrite output buffer just before saving to file; faster than the previous method. 5. implemented display of text files from within UnZip; size of a text file displayed is limited only by available memory. 6. implemented extension mapping for setting type and creator for extracted files with a specified DOS name extension. 7. last 16K bytes of file are read into a buffer to check for end central directory signature. 8. monitoring of extraction progress is not done for files of compressed size less than 8K bytes; progress monitor is updated only on input buffer reads. UnZip 1.02d - Sept 25, 1990: (not widely released) 1. corrected bug in a call to a Toolbox routine which caused an occasional crash on a Mac IIci at the end of the Zip file extraction process. UnZip 1.02c - July 14, 1990: 1. corrected sign extension problem which resulted in incorrectly giving the message "No space on volume--file skipped" when the free space on the volume was above a certain size. 2. the file"APPNOTE.TXT" contains the latest (April 15, 1990) PKWARE ZIP file specifications and discussion of algorithms used in PKZIP 1.10. UnZip 1.02b - Dec 14, 1989: 1. corrected search for "end central directory signature" which would cause a file to be incorrectly identified as "Not a ZIP file" when there was no zipfile comment. 2. modified source code to compile under THINK C 4.0. UnZip 1.02 - Dec 3, 1989: 1. use Shell sort instead of bubble sort for sorting of Shannon-Fano trees resulting in 3 seconds saving per "exploded" file on Mac Plus when sorting literal SF tree (if literal SF tree is present) 2. speeded up "exploding" data processing about 15% through use of register variables in critical loops 3. use negative numbers to indicate a leaf node has been reached in Shannon-Fano trees enabling reduction of tree storage space by 50% 4. check for "command-." at completion of processing of each dearchived file to abort processing of remaining archived files in ZIP file 5. disabled "Extract" menu item on opening application 6. checked from end of file for 8192 bytes (16 sectors) rather than 2 sectors for end central directory signature; certain bulletin boards are adding quite long zip comments in the "end central directory record" 7. to minimize disk reads, read in the last 8K of a ZIP file into a buffer before searching for end central directory signature and to construct the catalogue of archived files in the ZIP file 8. reduced disk read/write "thrashing" on disk-based system when stripping linefeeds from text files by utilizing 24K output buffer UnZip 1.01 - Sep 10, 1989: 1. check for sufficient space on volume before creating new dearchived files 2. added filter to dearchive ".GIF" and 'TEXT' files only 3. added message which gives size and colors of dearchived ".GIF" files 4. added "Choose Each File" (command-F) option for random file dearchiving 5. fixed problem with output buffer which led to infinite size dearchived files 6. fixed register allocation problem in "UnReduce" function which sometimes caused an infinite loop 7. added progress indicator window during dearchiving 8. added last mod file date and time in window view of ZIP file contents 9. set dearchived (Mac) file date and time and last mod date and time to ZIP archived file last mod date and time 10. dearchiving code for "exploding" implemented derived from Turbo Pascal source of R.P. Byrne (version 2.0 of 07-31-89) 11. the file "appnote.txt" contains the latest PKWARE ZIP file specifications and discussion of algorithms used in PKZIP 1.02 UnZip 0.92 - Aug 21, 1989: 1. first release of program enabling "extracting", "unshrinking" and "expanding" of ZIP files. Sources The application: written in THINK C 5.04 using the THINK Class Library 1.1.2. THINK C is a product of Symantec Corporation. Display of text files: used version 1.0b2 (Apr 30, 1992) of the class “CPEditText” written by Christopher R. Wysocki (America Online: AFFA ChrisW; Internet: afachrisw@aol.com). The file “CPEditText 1.0b2.cpt” can be found on CompuServe in the MacDev Forum. Extension Mapping Dialog: modified the subclasses used to implement the “String Table Demo” dialog in the project “NewClassDemo” supplied with THINK C 5.0 by Symantec. Unshrinking and Expanding: used version 1.2 of Samuel H. Smith’s C source code from the file “ST_UNZIP.ZIP” (Mar 30, 1989), with modifications by Darin Wayrynen to run on an Atari. CRC in-line assembly calculation: used table calculation method of Gary S. Brown as implemented in assembler by Darin Wayrynen from the file “ST_UNZIP.ZIP”. Minor modifications required to avoid trashing of a register by THINK C 5.0 compiler. Exploding: conversion to THINK C from pascal source code of R. P. Byrne from the file “DEZIP.ZIP” dated May 9, 1989; extensive modifications. Inflating: minor modifications to version c10p1 of the C source code of Mark Adler (Jan 10, 1993) as released by the Info-ZIP Group in the file “UNZIP50.ZIP” dated Aug 21, 1992 (Info-ZIP-Request@cs.ucla.edu), as patched by unzip50/patch01 of Jan 15, 1993 posted in comp.sources.misc. Animated Cursor: VBL task C source code "watch.c v1.2" by Josh Pritikin dated August 6, 1989 reworked as a subclass of CObject